home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d20 / lstcrc14.arc / LISTCRCS.DOC < prev    next >
Text File  |  1991-09-11  |  4KB  |  65 lines

  1.    LISTCRCS, as the name attempts to indicate, is a utility that "LISTs
  2.    CRCs, more precisely the type of CRC that the QM (aka QMail) and
  3.    Areafix programs are using as indexing hash codes in their handling
  4.    of EchoMail area tag names.
  5.  
  6.    The problem with this CRC hashing approach is that there is a
  7.    non-negligible (i.e. non-zero, as far as I'm concerned) probability
  8.    that two area names may end up having the same CRC, which can lead
  9.    to cross-links between areas (with QM) or to the wrong area being
  10.    (dis)connected (with AreaFix).
  11.  
  12.    The best known (in FidoNet) case of area name collision is probably the
  13.    one between the names MSGED and SMUT. It led to the first area being
  14.    renamed MSGED_ECHO. Closer to me, I painfully discovered a few months
  15.    ago that the new local area ADMIN167 was cross-linked with the large
  16.    international CLIPPER conference!
  17.  
  18.    Be advised: this is a quick hack, though it represents for the C rookie
  19.    that I am a substantial accomplishment. To borrow an expression from
  20.    the DOC's of someone who started writing FidoNet software long before
  21.    me, I only guarantee it to do one thing, and that is to occupy space on
  22.    your disk. Comments and suggestions will receive as much consideration
  23.    as they will deserve, which is just another way to suggest that flames
  24.    should be redirected ( > ) to the NUL (or /dev/null) device.
  25.  
  26.    Now, here is what this should do for you:
  27.  
  28.    - LISTCRCS.EXE is a small-model Turbo C program, so (much) less than
  29.      128K will be necessary to run it.
  30.  
  31.    - It is currently limited to 1024 areas and may crash and burn if fed a
  32.      longer list (or, as Chuck Forsberg puts it in some manual or other, it
  33.      may attempt to open a subspace channel to V'Ger... 8-). This can be
  34.      increased if I receive a reasonable request. By the same token,
  35.      maximum line length is set at 1023 characters.
  36.  
  37.    - It reads a file named AREAS.BBS in the *current* directory, and
  38.      ignores both the first line (system and sysop name by convention) and
  39.      all blank lines that directly follow it.
  40.  
  41.    - The first non-blank line it finds after that is used to determine if
  42.      the file is used by QuickBBS or Qm/Confmail. If the first character on
  43.      that line is numeric, the assumption is that the QuickBBS format
  44.      (area_number <spaces> area_tag ...) is used, otherwise QM/Confmail
  45.      (path_name <spaces> area_tag ...) format is assumed.
  46.  
  47.    - That first area line, and all following lines until the end of the
  48.      file, are read in memory and CRCs computed on all area tags. The list
  49.      of CRCs and area tag names is then sorted in order of CRC value and
  50.      printed to the standard output. In the case of the QuickBBS format,
  51.      the message area number is also printed. Any existing collision (i.e.
  52.      two identical CRCs) will be visually and audibly flagged.
  53.  
  54.    - If a command line argument is suplied, it will be treated as the name
  55.      of a new EchoMail area, and its CRC will be computed and compared to
  56.      the CRCs of all areas listed in the file. Any match, signifying a
  57.      collision and danger of cross-linking, will be flagged in the output
  58.      listing.
  59.  
  60.    - The program will return a DOS errorlevel of 0 in case of normal
  61.      termination, 1 if a collision was detected, 2 if no areas were found
  62.      in AREAS.BBS and 3 if AREAS.BBS itself was not found.
  63.  
  64.      Enjoy!             Renald Loignon, FidoNet address 1:167/176
  65.